/**
 * 专利时间脉络节点类型
 */
export interface PatentTimelineNode {
  /** 日期 */
  date: string;
  /** 类型：申请、公布等 */
  type: string;
  /** 标题 */
  title: string;
  /** 描述 */
  description: string;
  /** 专利ID */
  patentId: string;
  /** 申请号 */
  applyId?: string;
  /** 申请公布号 */
  applyPublicId?: string;
  /** 发明人 */
  inventor?: string;
  /** 申请机构 */
  institution?: string;
  /** IPC分类号 */
  ipcClass?: string;
  /** 摘要 */
  summary?: string;
}

/**
 * 时间脉络年份分组
 */
export interface TimelineYearGroup {
  /** 年份 */
  year: string;
  /** 该年份的事件列表 */
  events: PatentTimelineNode[];
}

/**
 * 时间脉络筛选条件
 */
export interface TimelineFilter {
  /** 开始日期 */
  startDate?: string;
  /** 结束日期 */
  endDate?: string;
  /** 发明人 */
  inventor?: string;
  /** 申请机构 */
  institution?: string;
  /** 事件类型 */
  eventType?: string;
}

/**
 * 统计信息
 */
export interface TimelineStatistics {
  /** 总专利数 */
  totalPatents: number;
  /** 总事件数 */
  totalEvents: number;
  /** 申请事件数 */
  applicationCount: number;
  /** 公布事件数 */
  publicationCount: number;
  /** 年份数量 */
  yearCount: number;
  /** 年份分布 */
  yearDistribution: Record<string, number>;
  /** 机构统计 */
  institutionStats: Record<string, number>;
  /** 发明人统计 */
  inventorStats: Record<string, number>;
}

/**
 * 时间脉络响应数据
 */
export interface TimelineResponse {
  /** 时间脉络数据 */
  timelineData: PatentTimelineNode[];
  /** 统计信息 */
  statistics: TimelineStatistics;
}
